package com.jiuwan.gamepass.utils;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * @version 1.0
 * 功能目的描述 ：用于   文件上传   ========>>>>>>>>>>>
 * @author： pang-yun
 * @date： 2021-06-15 11:22
 */

public class FileUploadUtils {
    //定义目标路径，就是我们文件上传到的位置
    private static String BASE_PATH ;

    @Value("${filePath.BASE_PATH}")
    public void setBasePath(String basePath) {
        BASE_PATH = basePath;
    }

    //定义访问文件的路径
    private static  String SERVER_PATH ;

    @Value("{filePath.SERVER_PATH}")
    public static void setServerPath(String serverPath) {
        SERVER_PATH = serverPath;
    }

    public static String uploadFile(MultipartFile file) {
        //获得上传文件的名称
        String filename = file.getOriginalFilename();
        //使用工具类获取UUID
        String uuid = UUIDUtil.createUUID();
        //利用原名和UUID生成新的文件名称
        String newFilename = uuid+"-"+filename;
        //创建文件的实例对象
        File image = new File(BASE_PATH, newFilename);
        //目录不存在则进行创建
        if (!image.exists()){
            image.mkdirs();
        }

        //对文件进行上传操作
        try {
            file.transferTo(image);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }

        return SERVER_PATH+newFilename;
    }
}
